﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace DEMI_webapp
{
    public class S_Koszyk
    {
        List<S_Kapelusz> listaZakupow;

        public S_Koszyk()
        {
            listaZakupow = new List<S_Kapelusz>();
        }

        public void DodajDoKoszyka(S_Kapelusz kapelusz)
        {
            if (listaZakupow.Count == 0)
            {
                listaZakupow.Add(kapelusz);
            }
            else
            {
                for (int i = 0; i < listaZakupow.Count; i++)
                {
                    if (
                        listaZakupow[i].PodajNazwe() == kapelusz.PodajNazwe() &&
                        listaZakupow[i].PodajKolor() == kapelusz.PodajKolor() &&
                        listaZakupow[i].PodajMaterial() == kapelusz.PodajMaterial() &&
                        listaZakupow[i].PodajCene() == kapelusz.PodajCene()
                        )
                    {
                        listaZakupow[i].ilosc += kapelusz.PodajIlosc();
                        break;
                    }
                }
                listaZakupow.Add(kapelusz);
            }
            
        }

        public int PodajIloscKapeluszy()
        {
            int ilosc = 0;
            for (int i = 0; i < listaZakupow.Count; i++)
            {
                ilosc += listaZakupow[i].PodajIlosc();
            }
            return ilosc;
        }

        public double PodajLacznaCene()
        {
            double cena = 0d;
            for (int i = 0; i < listaZakupow.Count; i++)
            {
                cena += listaZakupow[i].PodajCene() * listaZakupow[i].PodajIlosc();
            }
            return cena;
        }

        public void ZmienIlosc(int index, int ile)
        {
            listaZakupow[index].ilosc = ile;
        }

        public S_Kapelusz ZwrocKapelusz(int index)
        {
            return listaZakupow[index];
        }

        public List<S_Kapelusz> ZwrocListeZakupow()
        {
            return listaZakupow;
        }

        public void UsunZKoszyka(int index)
        {
            listaZakupow.RemoveAt(index);
        }

        public void OproznijKoszyk()
        {
            listaZakupow.Clear();
        }
    }
}